package com.ynet.middleground.riskmanage.dto.hangxin;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.ynet.middleground.riskmanage.bean.hangxin.CommonNodes;
import com.ynet.middleground.riskmanage.bean.hangxin.Fpxmxx;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author songyf
 * @description
 * @date 2021/11/12 17:21
 */
@Data
@ApiModel(value = "查询开票结果响应信息", description = "查询开票结果响应信息")
public class InvoiceResultDTO implements Serializable {

    private static final long serialVersionUID = 7497037228080678758L;

    @ApiModelProperty(value = "发票流水号", notes = "发票流水号")
    private String fplsh;

    @ApiModelProperty(value = "发票请求流水号", notes = "发票请求流水号")
    private String fpqqlsh;

    @ApiModelProperty(value = "发票代码", notes = "发票代码")
    private String fpdm;

    @ApiModelProperty(value = "发票号码", notes = "发票号码")
    private String fphm;

    @ApiModelProperty(value = "开票类型,0:专票2:普票41:卷票51：电票 52：电子专票", notes = "开票类型,0:专票2:普票41:卷票51：电票 52：电子专票")
    private String fplx;

    @ApiModelProperty(value = "发票状态（1  正常蓝票;2  冲红发票;3  被冲红发票;4  作废蓝票;5  作废红票）",
        notes = "发票状态（1  正常蓝票;2  冲红发票;3  被冲红发票;4  作废蓝票;5  作废红票）")
    private String fpzt;

    @ApiModelProperty(value = "开票时间,YYYYMMDDHHMMSS", notes = "开票时间,YYYYMMDDHHMMSS")
    private String kpsj;

    @ApiModelProperty(value = "PDF路径", notes = "PDF路径")
    private String pdf;

    @ApiModelProperty(value = "发票密文,经过base64", notes = "发票密文,经过base64")
    private String fpmw;

    @ApiModelProperty(value = "销方税号", notes = "销方税号")
    private String xfsh;

    @ApiModelProperty(value = "销方名称", notes = "销方名称")
    private String xfmc;

    @ApiModelProperty(value = "销方地址电话", notes = "销方地址电话")
    private String xfdzdh;

    @ApiModelProperty(value = "销方银行账号", notes = "销方银行账号")
    private String xfyhzh;

    @ApiModelProperty(value = "购方税号", notes = "购方税号")
    private String gfsh;

    @ApiModelProperty(value = "购方名称", notes = "购方名称")
    private String gfmc;

    @ApiModelProperty(value = "购方地址电话", notes = "购方地址电话")
    private String gfdzdh;

    @ApiModelProperty(value = "购方银行账号", notes = "购方银行账号")
    private String gfyhzh;

    @ApiModelProperty(value = "合计金额（不含税）,不含税，单位：元（2位小数）", notes = "合计金额（不含税）,不含税，单位：元（2位小数）")
    private String hjje;

    @ApiModelProperty(value = "合计税额,单位：元（2位小数）", notes = "合计税额,单位：元（2位小数）")
    private String hjse;

    @ApiModelProperty(value = "合计含税金额,单位：元（2位小数）", notes = "合计含税金额,单位：元（2位小数）")
    private String hjhsje;

    @ApiModelProperty(value = "备注", notes = "备注")
    private String bz;

    @ApiModelProperty(value = "收款人", notes = "收款人")
    private String skr;

    @ApiModelProperty(value = "开票人", notes = "开票人")
    private String kpr;

    @ApiModelProperty(value = "复核人", notes = "复核人")
    private String fhr;

    @ApiModelProperty(value = "校验码,专票红票有值，其他为空", notes = "校验码,专票红票有值，其他为空")
    private String jym;

    @ApiModelProperty(value = "原发票代码,红字发票时必须", notes = "原发票代码,红字发票时必须")
    private String yfpdm;

    @ApiModelProperty(value = "原发票号码,红字发票时必须", notes = "原发票号码,红字发票时必须")
    private String yfphm;

    @ApiModelProperty(value = "红票通知单编号", notes = "红票通知单编号")
    private String hptzdbh;

    @ApiModelProperty(value = "项目明细", notes = "项目明细")
    private FPMXS fpmxs;
}
